<?php
class icp_egreso {
	function icp_egreso(){
		$this->sql = new DmpSql();
	}
	/***********/
    function existe($idpersona,$numero,$serie){
      $consulta="SELECT idcp_egreso FROM cp_egreso WHERE  cp_egreso.idpersona='$idpersona' AND cp_egreso.serie='$serie' AND cp_egreso.numero='$numero'";
            //echo $consulta;
      $result=$this->sql->consultar($consulta,"sigh");
      if(mysql_num_rows($result)>0){
         return "1";
               // return "existe";
      }else{
          return "0";
               // return "nada";
      }
    }
    
    function buscar_cp_egreso_compra($idtipo_cp,$serie,$numero,$idpersona,$fechainicio,$fechafin,$fecha_vencimiento,$esta_pagada){
    	
        
    	if($idtipo_cp!=""){
    		 $sql_tipo_cp.="  cp_egreso.idtipo_cp='$idtipo_cp' ";
    	}else{
    		 $sql_tipo_cp.=" cp_egreso.idtipo_cp IS NOT NULL ";
    	}

    	if($serie!="" && $numero!=""){
    		$sql_serie_numero.= " AND cp_egreso.serie LIKE '%".$serie."%' AND cp_egreso.numero LIKE '%".$numero."%' ";		
    	}
    	
    	if($idpersona!=""){
    		$sql_persona.=" AND cp_egreso.idpersona=$idpersona ";
    	}
    	
        if($fechainicio!="" && $fechafin!=""){
    		$sql_fecha= " AND cp_egreso.fecha>='".$fechainicio."' AND cp_egreso.fecha<='".$fechafin."' ";
    	}
    	
    	if($fecha_vencimiento!=""){
    		$sql_fecha_vencimiento.=" AND cp_egreso.fecha_vencimiento<='$fecha_vencimiento' ";
    	}
    	
        if($esta_pagada!=""){
    		if($esta_pagada=="on"){
				  $sql_esta_pagada.=" AND cp_egreso.esta_pagada='1' ";
			    }else{
				  $sql_esta_pagada.=" AND cp_egreso.esta_pagada='0' ";
				} 
    	}  	
    	$sql_cp_egreso="SELECT 
						  cp_egreso.idcp_egreso,
						  empresa.ruc as empresa_ruc,
						  empresa.razon_social,
						  cp_egreso.serie,
						  cp_egreso.numero,
						  cp_egreso.ruc,
						  cp_egreso.razon_social,
						  cp_egreso.fecha,
						  cp_egreso.fecha_vencimiento,
                          cp_egreso.fecha_pago,
						  cp_egreso.idmoneda,
						  cp_egreso.monto_cambio_moneda,
						  cp_egreso.monto_inafecto,
						  cp_egreso.monto_afecto,
						  cp_egreso.total,
						  cp_egreso.esta_pagada,
						  cp_egreso.pago_acuenta,
                          cp_egreso.idtipo_cp,
                          tipo_cp.descripcion as tc_descripcion
						FROM
						  cp_egreso
						  INNER JOIN persona ON (cp_egreso.idpersona = persona.idpersona)
						  INNER JOIN empresa ON (persona.idpersona = empresa.idempresa)
                          INNER JOIN tipo_cp ON (cp_egreso.idtipo_cp = tipo_cp.idtipo_cp)
						WHERE
						$sql_tipo_cp
						$sql_serie_numero
						$sql_persona
						$sql_fecha
						$sql_fecha_vencimiento
						$sql_esta_pagada";
    	
    	$sql_cp_egreso.="ORDER BY
        cp_egreso.fecha DESC, cp_egreso.idtipo_cp";
    	        
    	$result = $this->sql->consultar($sql_cp_egreso,"sigh");
        return $result;
    }
    

    /**********/
	function buscar_cp_egreso($ce_idtipo_cp,$ce_numero,$ce_razon_social,$fechainicio,$fechafin,$esta_pagada){
                //farmacia
		if($esta_pagada=="on"){$esta_pagada="1";}else{$esta_pagada="0";}
		//$i=0;
                $fechas=1;//va fecha
		$sql="SELECT
		  cp_egreso.idcp_egreso AS ce_idcp_egreso,
		  cp_egreso.idtipo_cp AS ce_idtipo_cp,
		  CONCAT(cp_egreso.serie,'-',cp_egreso.numero) AS ce_numero,
		  cpc_farmacia.razon_social AS ce_razon_social,
		  cp_egreso.fecha AS ce_fecha,
		  cp_egreso.total AS ce_total,
		  cp_egreso.esta_pagada,
		  cp_egreso.esta_anulada,
		  tipo_cp.descripcion AS tc_descripcion,
		  cpc_farmacia.vencimiento_pago,
		  cpc_farmacia.fecha_pago,
          ingreso_farmacia.idingreso_farmacia
		FROM
		  cp_egreso
		  INNER JOIN cpc_farmacia ON (cpc_farmacia.idcp_egreso = cp_egreso.idcp_egreso)
		  INNER JOIN tipo_cp ON (cp_egreso.idtipo_cp = tipo_cp.idtipo_cp)
          INNER JOIN ingreso_farmacia ON (cp_egreso.idcp_egreso = ingreso_farmacia.idcpc_farmacia)
		WHERE ";
        if($esta_pagada=="1"){//siempre va
			$sql.="cp_egreso.esta_pagada='1' ";
		}else{
			$sql.="cp_egreso.esta_pagada='0' ";
		}    
        if($ce_idtipo_cp==null || $ce_idtipo_cp==""){
            $sql.="";
        }else{
            $sql.="AND cp_egreso.idtipo_cp ='".$ce_idtipo_cp."' ";
        }	  
		if($ce_numero!=null && $ce_numero!=""){//viene numero cp en la busqueda
            list($serie,$numero)=split("-",$ce_numero);
			$sql.= "AND cp_egreso.serie LIKE '".$serie."%' AND cp_egreso.numero LIKE '".$numero."%' ";
            //no debe restringuir x fechas
            $fecha=0;
		}
		if($ce_razon_social!=null && $ce_razon_social!=""){
			$sql.= "AND cpc_farmacia.razon_social LIKE '%".$ce_razon_social."%' ";
            //no debe restringuir x fechas
            $fecha=0;
		}
		if($fechas>0){//va restringuido x fechas
			$sql.= "AND cp_egreso.fecha>='".$fechainicio."' AND cp_egreso.fecha<='".$fechafin."' ";
		}	
		$sql.="ORDER BY
          cp_egreso.fecha DESC, cp_egreso.idtipo_cp";
		//echo $sql;
		$result = $this->sql->consultar($sql,"sigh");

	 	return $acp_egreso;
	}
    function cp_egreso_reporte_proveedores($fechai,$fechaf){
		$i=0;

		$sql="SELECT
		  cp_egreso.idcp_egreso,
		  cp_egreso.total,
		  cp_egreso.fecha,
		  ingreso_farmacia.fecha AS fecha_ingreso,
		  oc_farmacia.fecha AS fecha_oc,
		  cpc_farmacia.razon_social,
		  cpc_farmacia.ruc,
		  DATEDIFF(ingreso_farmacia.fecha,oc_farmacia.fecha) AS espera
		FROM
		  cp_egreso
		  INNER JOIN cpc_farmacia ON (cp_egreso.idcp_egreso = cpc_farmacia.idcp_egreso)
		  LEFT OUTER JOIN ingreso_farmacia ON (cpc_farmacia.idcp_egreso = ingreso_farmacia.idcpc_farmacia)
		  LEFT OUTER JOIN oc_farmacia ON (ingreso_farmacia.idoc_farmacia = oc_farmacia.idoc_farmacia)
		WHERE
		  cp_egreso.fecha>='".$fechai."'
		  AND cp_egreso.fecha<='".$fechaf."'
		ORDER BY
		  cpc_farmacia.razon_social ASC";
		$result=$this->sql->consultar($sql,"sigh");

        while(!!$fila=mysql_fetch_array($result)){

        	$registro[ruc][$fila["ruc"]]=$fila["ruc"];
        	$registro[razon_social][$fila["ruc"]]=$fila["razon_social"];
        	$registro[total][$fila["ruc"]]+=$fila["total"];//sumo los totals d los cp d ste proveedor
        	$registro[espera][$fila["ruc"]]+=$fila["espera"];//sumo el tiempo d espera d ste proveedor
        	$registro[idcp_egreso][$fila["ruc"]][$fila["idcp_egreso"]]=$fila["idcp_egreso"];//los idcp de ste proveedor, me sirve pa saber cuantos comprobantes o compras se ha realizado a ste proveedor

        	$i++;
        }
        return $registro;
	}

	function cp_egreso_reporte_movimiento($fechai,$fechaf,$idfarmacia){
            //farmacia
            if($idfarmacia==0){//todas las farmacias
                    $concatena_farmacia="";
            }else{
                    $concatena_farmacia=" AND cpc_farmacia.idfarmacia='".$idfarmacia."'";
            }
            $i=0;
            $sql="SELECT
                      cpc_farmacia.idfarmacia,
                      cp_egreso.fecha,
                      detalle_cpc_farmacia.idproducto,
                      detalle_cpc_farmacia.cantidad_recibida
                    FROM
                      cpc_farmacia
                      INNER JOIN detalle_cpc_farmacia ON (cpc_farmacia.idcp_egreso = detalle_cpc_farmacia.idcpc_farmacia)
                      INNER JOIN cp_egreso ON (cpc_farmacia.idcp_egreso = cp_egreso.idcp_egreso)
                    WHERE
                      cp_egreso.fecha>='".$fechai."'
                      AND cp_egreso.fecha<='".$fechaf."'
                      ".$concatena_farmacia."";
            $result=$this->sql->consultar($sql,"sigh");

            while(!!$fila=mysql_fetch_array($result)){
                    //dado q aca clasificamos viendo q cantidad es fraccion
                    $registro["cantidad_recibida"][$fila["idproducto"]]+=$fila["cantidad_recibida"];

                    $i++;
            }
            return $registro;
    }

	function cp_egreso_reporte_compra($fechai,$fechaf,$idtipo_cp,$idproveedor,$idfarmacia,$idusuario,$excel,$orden){
            //farmacia
        //por mientras idproveedor=ruc, pq en los cp no esta idproveedor
        if($idproveedor==0){
                $concatena_proveedor="";
        }else{
                $concatena_proveedor=" AND cpc_farmacia.ruc='".$idproveedor."'";
        }
    	if($idfarmacia==0){//todas las farmacias
    		$concatena_farmacia="";
    	}else{
    		$concatena_farmacia=" AND cpc_farmacia.idfarmacia='".$idfarmacia."'";
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_egreso.idusuario='".$idusuario."'";
    	}
    	if($idtipo_cp==0){
    		$concatena_tipo_cp="";
    	}else{
    		$concatena_tipo_cp=" AND cp_egreso.idtipo_cp='".$idtipo_cp."'";
    	}
    	if($orden==1){//por fecha ascendente
    		$concatena_orden=" cp_egreso.fecha ASC";
    	}else{
    		if($orden==2){//numero comprobante ascendente
    			$concatena_orden=" cp_egreso.idtipo_cp";
    		}else{//por importe, del mas alto al menor
    			$concatena_orden=" cp_egreso.total DESC";
    		}
    	}

    	$i=0;
    	$sql="SELECT
		  cp_egreso.idcp_egreso,
		  cp_egreso.idtipo_cp,
		  CONCAT(cp_egreso.serie,'-',cp_egreso.numero) AS numero,
		  cp_egreso.fecha,
		  cp_egreso.total,
		  cp_egreso.esta_anulada,
		  cp_egreso.idusuario,
		  cpc_farmacia.monto_afecto,
		  cpc_farmacia.monto_inafecto,

		  cpc_farmacia.subtotal,
		  cpc_farmacia.igv,
		  cpc_farmacia.ruc,
		  cpc_farmacia.razon_social,
		  cpc_farmacia.idfarmacia,
		  tipo_cp.descripcion,
		  tipo_cp.codigo_pdt,
		  persona.nombres,
		  persona.apellido_m,
		  persona.apellido_p
		FROM
		  cp_egreso
		  LEFT OUTER JOIN cpc_farmacia ON (cp_egreso.idcp_egreso = cpc_farmacia.idcp_egreso)
		  INNER JOIN tipo_cp ON (cp_egreso.idtipo_cp = tipo_cp.idtipo_cp)
		  LEFT OUTER JOIN persona ON (cp_egreso.idusuario = persona.idpersona)
		WHERE
		  cp_egreso.fecha>='".$fechai."'
		  AND cp_egreso.fecha<='".$fechaf."'
		  AND cp_egreso.idcp_origen='1'
		  ".$concatena_farmacia."
		  ".$concatena_usuario."
		  ".$concatena_tipo_cp."
		  ".$concatena_proveedor."
		ORDER BY
		  ".$concatena_orden."";

		$result=$this->sql->consultar($sql,"sigh");

        while(!!$fila=mysql_fetch_array($result)){
            $registro[idcp_egreso][$i]=$fila["idcp_egreso"];
            $registro[idtipo_cp][$i]=$fila["idtipo_cp"];
			$registro[numero][$i]=$fila["numero"];
			$registro[fecha][$i]=$fila["fecha"];
			$registro[total][$i]=$fila["total"];
			$registro[idusuario][$i]=$fila["idusuario"];
			$registro[ruc][$i]=$fila["ruc"];
			$registro[razon_social][$i]=$fila["razon_social"];
			$registro[esta_anulada][$i]=$fila["esta_anulada"];
			$registro[idfarmacia][$i]=$fila["idfarmacia"];
			$registro[monto_afecto][$i]=$fila["monto_afecto"];
			$registro[monto_inafecto][$i]=$fila["monto_inafecto"];
			$registro[igv][$i]=$fila["igv"];
			$registro[tipo_cp][$i]=$fila["descripcion"];
			$registro[codigo_pdt][$i]=$fila["codigo_pdt"];
			$registro[usu_nombres][$i]=$fila["nombres"];
			$registro[usu_apellido_p][$i]=$fila["apellido_p"];
			$registro[usu_apellido_m][$i]=$fila["apellido_m"];

            $i++;
        }
        return $registro;
    }

	function mostrar_todos($esta_pagada){
		if($esta_pagada=="on"){$esta_pagada="1";}else{$esta_pagada="0";}
		//$i=0;
		$sql="SELECT
		  cp_egreso.idcp_egreso AS ce_idcp_egreso,
		  cp_egreso.idtipo_cp AS ce_idtipo_cp,
		  CONCAT(cp_egreso.serie,'-',cp_egreso.numero) AS ce_numero,
		  cpc_farmacia.razon_social AS ce_razon_social,
		  cp_egreso.fecha AS ce_fecha,
		  cp_egreso.total AS ce_total,
		  cp_egreso.esta_declarado AS ce_esta_declarado,
		  cp_egreso.esta_pagada,
		  cp_egreso.esta_anulada,
		  tipo_cp.descripcion AS tc_descripcion,
		  cpc_farmacia.vencimiento_pago,
		  cpc_farmacia.fecha_pago,
          ingreso_farmacia.idingreso_farmacia
		FROM
		  cp_egreso
		  INNER JOIN cpc_farmacia ON (cpc_farmacia.idcp_egreso = cp_egreso.idcp_egreso)
		  INNER JOIN tipo_cp ON (cp_egreso.idtipo_cp = tipo_cp.idtipo_cp)
          INNER JOIN ingreso_farmacia ON (cp_egreso.idcp_egreso = ingreso_farmacia.idcpc_farmacia)
		WHERE
		  cp_egreso.esta_pagada ='".$esta_pagada."'
		ORDER BY
		  cp_egreso.fecha DESC, cp_egreso.idtipo_cp";
        //echo $sql;
		$result = $this->sql->consultar($sql,"sigh");
 		while(!!$fila=mysql_fetch_array($result)) {
            $acp_egreso[ce_idcp_egreso][$fila["ce_idcp_egreso"]] = $fila["ce_idcp_egreso"];
            $acp_egreso[ce_idtipo_cp][$fila["ce_idcp_egreso"]] = $fila["ce_idtipo_cp"];
            $acp_egreso[ce_numero][$fila["ce_idcp_egreso"]] = $fila["ce_numero"];
            $acp_egreso[ce_razon_social][$fila["ce_idcp_egreso"]] = $fila["ce_razon_social"];
            $acp_egreso[ce_fecha][$fila["ce_idcp_egreso"]] = $fila["ce_fecha"];
            $acp_egreso[ce_total][$fila["ce_idcp_egreso"]] = $fila["ce_total"];
            $acp_egreso[ce_esta_declarado][$fila["ce_idcp_egreso"]] = $fila["ce_esta_declarado"];
            $acp_egreso[esta_pagada][$fila["ce_idcp_egreso"]] = $fila["esta_pagada"];
            $acp_egreso[esta_anulada][$fila["ce_idcp_egreso"]] = $fila["esta_anulada"];
            $acp_egreso[tc_descripcion][$fila["ce_idcp_egreso"]] = $fila["tc_descripcion"];
            $acp_egreso[vencimiento_pago][$fila["ce_idcp_egreso"]] = $fila["vencimiento_pago"];
            $acp_egreso[fecha_pago][$fila["ce_idcp_egreso"]] = $fila["fecha_pago"];
            $acp_egreso[idingreso_farmacia][$fila["ce_idcp_egreso"]][$fila["idingreso_farmacia"]] = $fila["idingreso_farmacia"];
            
 			/*$acp_egreso[ce_idcp_egreso][$i] = $fila["ce_idcp_egreso"];
 			$acp_egreso[ce_idtipo_cp][$i] = $fila["ce_idtipo_cp"];
			$acp_egreso[ce_numero][$i] = $fila["ce_numero"];
			$acp_egreso[ce_razon_social][$i] = $fila["ce_razon_social"];
			$acp_egreso[ce_fecha][$i] = $fila["ce_fecha"];
			$acp_egreso[ce_total][$i] = $fila["ce_total"];
			$acp_egreso[ce_esta_declarado][$i] = $fila["ce_esta_declarado"];
			$acp_egreso[esta_pagada][$i] = $fila["esta_pagada"];
			$acp_egreso[esta_anulada][$i] = $fila["esta_anulada"];
			$acp_egreso[tc_descripcion][$i] = $fila["tc_descripcion"];
			$acp_egreso[vencimiento_pago][$i] = $fila["vencimiento_pago"];
			$acp_egreso[fecha_pago][$i] = $fila["fecha_pago"];
			$i++;*/
 		}
	 	return $acp_egreso;
	}

	function lista_detalle($ce_idcp_egreso){
		$sql="SELECT
		  detalle_cpc_farmacia.iddetalle_cpc_farmacia AS dcf_iddetalle_cpc_farmacia,
		  detalle_cpc_farmacia.idcpc_farmacia AS dcf_idcpc_farmacia,
		  detalle_cpc_farmacia.idproducto AS dcf_idproducto,
		  detalle_cpc_farmacia.cantidad_recibida AS dcf_cantidad_recibida,
          detalle_cpc_farmacia.cantidad_fraccion AS cantidad_fraccion,
		  detalle_cpc_farmacia.precio_unitario AS dcf_precio_unitario,
          detalle_cpc_farmacia.precio_venta AS dcf_precio_venta,
		  detalle_cpc_farmacia.valor_venta AS dcf_valor_venta,
		  detalle_cpc_farmacia.es_afecto AS dcf_es_afecto,
		  detalle_cpc_farmacia.descuento AS dcf_descuento,
		  detalle_cpc_farmacia.fecha_caducidad AS dcf_fecha_caducidad,
		  detalle_cpc_farmacia.codigo_lote AS dcf_codigo_lote,
		  detalle_cpc_farmacia.fecha_ingreso AS dcf_fecha_ingreso,
		  producto.nombre AS pro_nombre,
		  unidad_reporte.descripcion AS ur_descripcion
		FROM
		  unidad_reporte
		  INNER JOIN producto ON (unidad_reporte.idunidad_reporte = producto.idunidad_reporte)
		  INNER JOIN detalle_cpc_farmacia ON (producto.idproducto = detalle_cpc_farmacia.idproducto)
		WHERE
		  detalle_cpc_farmacia.idcpc_farmacia = ".$ce_idcp_egreso."";
		$result = $this->sql->consultar($sql,"sigh");
 		$i=0;
		while(!!$fila=mysql_fetch_array($result)) {
 			$list_det[dcf_iddetalle_cpc_farmacia][$i] = $fila["dcf_iddetalle_cpc_farmacia"];
 			$list_det[dcf_idcpc_farmacia][$i] = $fila["dcf_idcpc_farmacia"];
			$list_det[dcf_idproducto][$i] = $fila["dcf_idproducto"];
			$list_det[dcf_cantidad_recibida][$i] = $fila["dcf_cantidad_recibida"];
			$list_det[dcf_precio_unitario][$i] = $fila["dcf_precio_unitario"];
			$list_det[dcf_precio_venta][$i] = $fila["dcf_precio_venta"];
            $list_det[dcf_valor_venta][$i] = $fila["dcf_valor_venta"];
			$list_det[dcf_es_afecto][$i] = $fila["dcf_es_afecto"];
			$list_det[dcf_descuento][$i] = $fila["dcf_descuento"];
			$list_det[dcf_fecha_caducidad][$i] = $fila["dcf_fecha_caducidad"];
			$list_det[dcf_codigo_lote][$i] = $fila["dcf_codigo_lote"];
			$list_det[dcf_fecha_ingreso][$i] = $fila["dcf_fecha_ingreso"];
			$list_det[pro_nombre][$i] = $fila["pro_nombre"];
			$list_det[ur_descripcion][$i] = $fila["ur_descripcion"];
            $list_det[cantidad_fraccion][$i] = $fila["cantidad_fraccion"];
			$i++;
 		}
	 	return $list_det;
	}
}
?>